#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QLabel>
#include "models/status_bar.h"
#include "settings/user_settings.h"
#include "settings/set_floder.h"
#include "models/file_browser.h"
#include "models/editer_tab_widget.h"
#include "models/searcher.h"

namespace Ui {
class MainWindow;
}

class baseWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit baseWindow(QWidget *parent = 0);
    ~baseWindow();

private:
    Ui::MainWindow *ui;
    user_settings* set_form;
    set_Floder* set_floder;
    Status_bar* status_bar;
    File_Browser* file_browser_form;
    editer_tab_widget* edit_form;
    searcher* search_form;
    void InitSignal();
    void InitWindow();

    void closeEvent(QCloseEvent *event);
public slots:
    void on_actionOpen_Folder_triggered();
    void on_actionSettings_triggered();
    void on_actionExit_triggered();
    void set_status_bar_text(QVariant&);
    void on_actionfile_browser_triggered();
    void on_actionSave_SignalFile_triggered();
    void on_actionSearch_triggered();
    void showEvent(QShowEvent* event);
    void resizeEvent(QResizeEvent *event);
    void layout_resize();
    void keyPressEvent(QKeyEvent *event);
};

#endif // MAINWINDOW_H
